// --------------------------------------------------------------------------------------------------------------------
// <copyright file="BulbItemBase.cs" company="StyleCop for ReSharper Development Team">
//   Copyright (c) StyleCop for ReSharper Development Team. All rights reserved.
// </copyright>
// <summary>
//   Defines the BulbItemBase type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace StyleCop.For.ReSharper.BulbItems.Framework
{
    #region Using Directives

    using JetBrains.ProjectModel;
    using JetBrains.ReSharper.Feature.Services.Bulbs;
    using JetBrains.TextControl;

    #endregion

    /// <summary>
    /// Abstract implementation of the IBulbItem interface.
    /// </summary>
    public abstract class BulbItemBase : IBulbItem
    {
        #region Properties

        /// <summary>
        /// Gets or sets text to be used as the cookie name.
        /// </summary>
        /// <value>
        /// The text to use for the cookie name.
        /// </value>
        public string Text { get; set; }

        #endregion

        #region Implemented Interfaces

        #region IBulbItem

        /// <summary>
        /// Performs the QuickFix, inserts the configured modifier into the location specified by
        /// the violation.
        /// </summary>
        /// <param name="solution">
        /// Current Solution.
        /// </param>
        /// <param name="textControl">
        /// Current Text Control to modify.
        /// </param>
        public abstract void Execute(ISolution solution, ITextControl textControl);

        #endregion

        #endregion
    }
}